package bio_nio_aio.bio.com_base.junjie;

import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

/*
 * TCP通信的服务器：接受客户端的请求，读取客户端发送的数据，给客户端写数据表示服务器的类：
 * java.net.ServerSocket
 *
 * 构造方法：
 * ServerSocket(int port) 创建绑定到特定端口的服务器套接字
 *
 * 服务器必须明确一件事，必须知道是那个客户段请求的服务器所以可以使用
 * accept() 方法获取到请求客户端对象 Socket
 * 成员方法：
 * Socket accept() 贞听并接受到此套接字的链接
 *
 * 服务器的实现：
 * 1.创建服务器 ServerSocket 对像和系统要指定的端口号
 * 2.使用ServerSocket 对象中的方法 accept 获取到请求的客户端对象 Socket
 * 与客户端差不多
 *
 * */
public class TCPServer {
	public static void main(String[] args) throws Exception {

		ServerSocket server = new ServerSocket(8888);

		Socket socket = server.accept();

		InputStream is = socket.getInputStream();

		byte[] bytes = new byte[1024];
		int len = is.read(bytes);

		System.out.println(new String(bytes,0,len));

		OutputStream os = socket.getOutputStream();

		os.write("收到谢谢".getBytes());

		socket.close();
		server.close();

	}
}